package com.ruoyi.project.system.service;

import java.util.List;

import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.project.system.domain.SysGoodsOrder;

/**
 * 二手物品订单Service接口
 *
 * @author jjp
 * @date 2020-04-24
 */
public interface ISysGoodsOrderService {

    public void confirmService();

    /**
     * 查询二手物品订单
     *
     * @param goodsOrderId 二手物品订单ID
     * @return 二手物品订单
     */
    public SysGoodsOrder selectSysGoodsOrderById(Long goodsOrderId);

    public SysGoodsOrder selectSysGoodsOrderByNo(String orderNo);

    /**
     * 查询二手物品订单列表
     *
     * @param sysGoodsOrder 二手物品订单
     * @return 二手物品订单集合
     */
    public List<SysGoodsOrder> selectSysGoodsOrderList(SysGoodsOrder sysGoodsOrder);

    /**
     * 新增二手物品订单
     *
     * @param sysGoodsOrder 二手物品订单
     * @return 结果
     */
    public int insertSysGoodsOrder(SysGoodsOrder sysGoodsOrder);


    public AjaxResult createGoodsOrderService(SysGoodsOrder sysGoodsOrder);


    public List<SysGoodsOrder> getMyGoods(SysGoodsOrder sysGoodsOrder);


    public AjaxResult payGoodsOrderService(SysGoodsOrder sysGoodsOrder);


    public Boolean alipayBack(String orderNo, String payType, String totalMoney);

    /**
     * 修改二手物品订单
     *
     * @param sysGoodsOrder 二手物品订单
     * @return 结果
     */
    public int updateSysGoodsOrder(SysGoodsOrder sysGoodsOrder);

    /**
     * 商家发货
     *
     * @param sysGoodsOrder
     * @return
     */
    public AjaxResult sendGoods(SysGoodsOrder sysGoodsOrder);


    /**
     * 商家发货
     *
     * @param sysGoodsOrder
     * @return
     */
    public AjaxResult auditGoods(SysGoodsOrder sysGoodsOrder);

    /**
     * 批量删除二手物品订单
     *
     * @param goodsOrderIds 需要删除的二手物品订单ID
     * @return 结果
     */
    public int deleteSysGoodsOrderByIds(Long[] goodsOrderIds);

    /**
     * 删除二手物品订单信息
     *
     * @param goodsOrderId 二手物品订单ID
     * @return 结果
     */
    public int deleteSysGoodsOrderById(Long goodsOrderId);
}
